package collection;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @author Huangjin
 * @version 1.0
 * describe:
 * @date 2023/3/2 9:26
 */
public class CollectionDemo {
    public static void main(String[] args) {

        two();
    }
    public static void one(){
        Collection c = new ArrayList();
        c.add("One");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        //集合重写了Object的toString()方法，返回格式如下：
        //[元素1.toString(),元素2.toString(),元素3.toString(),....]
        System.out.println(c);

        //输出集合的元素个数
        System.out.println("size:"+c.size());
        //isEmpty()判断集合是否为空集（size()为0表示空集）
        System.out.println("是否为空集"+c.isEmpty());
        //清空集合
        c.clear();
        System.out.println("集合已清空");
        System.out.println(c);
        System.out.println("size:"+c.size());
        System.out.println("是否为空集："+c.isEmpty());
    }
    public static void two(){
        Collection c = new ArrayList();
        c.add(new Point(1,2));
        c.add(new Point(3,4));
        c.add(new Point(5,6));
        c.add(new Point(7,8));
        c.add(new Point(9,0));
        c.add(new Point(1,2));
        //[元素1.toString(),元素2.toString(),元素3.toString(),....]
        System.out.println(c);
        /*
            boolean contains(Object o):
            判断当前集合是否包含给定元素o
            判断依据是给定元素是否与当前集合存在equals()比较为true的情况
         */
        Point p = new Point(1,2);
        boolean contains = c.contains(p);
        System.out.println("是否包含："+contains);

        /*
            boolean remove(Object o):-------一般都不接受boolean结果
            从当前集合中删除与给定元素o的equals()比较为true的元素
            若存在重复元素则只删除一次
         */
        c.remove(p);
        System.out.println(c);

        //集合中存放的是元素的引用(地址)
        Collection cc = new ArrayList();
        Point pp = new Point(1,2);
        cc.add(pp);
        pp.setX(100);
        System.out.println("pp:"+pp+"cc:"+cc);
        System.out.println("pp:"+pp+"cc:"+cc);
    }
}
